package com.eastfair.venuebooking.dto;

import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.eastfair.core.base.entity.Entity;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.Builder;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import com.eastfair.venuebooking.enumeration.VenueBookAuditAuditStatusEnum;
import com.eastfair.venuebooking.enumeration.VenueBookAuditVenueBookSourceEnum;
import java.io.Serializable;

/**
 * <p>
 * 实体类
 * 场馆预定审核表
 * </p>
 *
 * @author dqq
 * @since 2023-03-29
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = false)
@Builder
@ApiModel(value = "VenueBookAuditPageQuery", description = "场馆预定审核表")
public class VenueBookAuditPageQuery implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 是否启用：1是；0否
     */
    @ApiModelProperty(value = "是否启用：1是；0否")
    private Integer isEnabled;
    /**
     * 项目id
     */
    @ApiModelProperty(value = "项目id")
    private Long projectId;
    /**
     * 子系统id
     */
    @ApiModelProperty(value = "子系统id")
    private Long subsystemId;
    /**
     * 租户id
     */
    @ApiModelProperty(value = "租户id")
    private Long tenantId;
    /**
     * 是否删除：1是；0否
     */
    @ApiModelProperty(value = "是否删除：1是；0否")
    private Integer isDeleted;
    /**
     * 外部展会唯一标识
     */
    @ApiModelProperty(value = "外部展会唯一标识")
    private String externalExhibitionCode;
    /**
     * 展会编号
     */
    @ApiModelProperty(value = "展会编号")
    private String exhibitionNo;
    /**
     * 展会名称
     */
    @ApiModelProperty(value = "展会名称")
    private String exhibitionName;
    /**
     * 展会简称
     */
    @ApiModelProperty(value = "展会简称")
    private String exhibitionShortName;
    /**
     * 展会类型 (EXHIBITION:展会;MEETING:会议;FORUM:论坛;OTHER:其他)
     */
    @ApiModelProperty(value = "展会类型 (EXHIBITION:展会;MEETING:会议;FORUM:论坛;OTHER:其他)")
    private String exhibitionType;
    /**
     * 展会英文名称
     */
    @ApiModelProperty(value = "展会英文名称")
    private String exhibitionEnName;
    /**
     * 展会介绍
     */
    @ApiModelProperty(value = "展会介绍")
    private String remark;
    /**
     * 所属行业 INDUSTRY_ONE:农林渔牧;INDUSTRY_TWO:工业智造;INDUSTRY_THREE:新兴产业;INDUSTRY_FOUR:美好生活;OTHER:其他
     */
    @ApiModelProperty(value = "所属行业 INDUSTRY_ONE:农林渔牧;INDUSTRY_TWO:工业智造;INDUSTRY_THREE:新兴产业;INDUSTRY_FOUR:美好生活;OTHER:其他")
    private String industry;
    /**
     * 承办单位
     */
    @ApiModelProperty(value = "承办单位")
    private String undertakerName;
    /**
     * 展会logo
     */
    @ApiModelProperty(value = "展会logo")
    private String logoUrl;
    /**
     * 客户名称
     */
    @ApiModelProperty(value = "客户名称")
    private String customerCnName;
    /**
     * 统一社会信用代码
     */
    @ApiModelProperty(value = "统一社会信用代码")
    private String uscc;
    /**
     * 联系人姓名
     */
    @ApiModelProperty(value = "联系人姓名")
    private String contactName;
    /**
     * 联系人角色
     */
    @ApiModelProperty(value = "联系人角色")
    private String contactRole;
    /**
     * 联系人联系方式
     */
    @ApiModelProperty(value = "联系人联系方式")
    private String mobile;
    /**
     * 展览开始时间
     */
    @ApiModelProperty(value = "展览开始时间")
    private LocalDateTime exhibitionStartTime;
    /**
     * 展览结束时间
     */
    @ApiModelProperty(value = "展览结束时间")
    private LocalDateTime exhibitionEndTime;
    /**
     * 布展开始时间
     */
    @ApiModelProperty(value = "布展开始时间")
    private LocalDateTime arrangementStartTime;
    /**
     * 布展结束时间
     */
    @ApiModelProperty(value = "布展结束时间")
    private LocalDateTime arrangementEndTime;
    /**
     * 撤展开始时间
     */
    @ApiModelProperty(value = "撤展开始时间")
    private LocalDateTime dismantlingStartTime;
    /**
     * 撤展结束时间
     */
    @ApiModelProperty(value = "撤展结束时间")
    private LocalDateTime dismantlingEndTime;
    /**
     * 主办
     */
    @ApiModelProperty(value = "主办")
    private String sponsorName;
    /**
     * 展会网址
     */
    @ApiModelProperty(value = "展会网址")
    private String exhibitionWebsite;
    /**
     * 预定场地: 场地名称,分割
     */
    @ApiModelProperty(value = "预定场地: 场地名称,分割")
    private String bookVenue;
    /**
     * 申请时间
     */
    @ApiModelProperty(value = "申请时间")
    private LocalDateTime submitTime;
    /**
     * 审核状态 #{SUBMIT:待审核;APPROVED:审核通过;NOT_APPROVED:审核未通过}
     */
    @ApiModelProperty(value = "审核状态 #{SUBMIT:待审核;APPROVED:审核通过;NOT_APPROVED:审核未通过}")
    private VenueBookAuditAuditStatusEnum auditStatus;
    /**
     * 审核结果
     */
    @ApiModelProperty(value = "审核结果")
    private String auditResult;
    /**
     * 审核意见
     */
    @ApiModelProperty(value = "审核意见")
    private String auditOpinion;
    /**
     * 审核时间
     */
    @ApiModelProperty(value = "审核时间")
    private LocalDateTime auditTime;
    /**
     * 审核人ID
     */
    @ApiModelProperty(value = "审核人ID")
    private Long auditUserId;
    /**
     * 审核人姓名
     */
    @ApiModelProperty(value = "审核人姓名")
    private String auditUserName;
    /**
     * 场馆预定申请来源 #{CONFERENCE:展览会议系统;VENUE_WEBSITE:场馆官网}
     */
    @ApiModelProperty(value = "场馆预定申请来源 #{CONFERENCE:展览会议系统;VENUE_WEBSITE:场馆官网}")
    private VenueBookAuditVenueBookSourceEnum venueBookSource;

}
